package common.properties.validation {
import flash.events.Event;
import flash.events.EventDispatcher;

/**
 * Объект, который содержит информацию о валидации объекта
 */
public class ValidationInfo extends EventDispatcher {

    private var info:Object = new Object();

    [Bindable(event="change")]
    public function get valid():Boolean {
        for(var s:String in info) {
            if(!info[s]) {
                return false
            }
        }

        return true;
    }

    public function markValid(property:String, valid:Boolean):void {
        info[property] = valid;
        dispatchEvent(new Event("change"));
    }

    public function ValidationInfo() {
    }
}
}